home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Utilities / Marker Control / Read Me < prev   
Text File  |  1992-11-23  |  8KB  |  116 lines

  1. Marker Control 0.6ß    10/12/92
  2.  
  3. NOTE: This is beta software and, while every effort has been made to assure that it is free of bugs, some may still exist and I assume no responsibility for any problems or down time that the program or any bugs thereof may cause, directly or indirectly.
  4.  
  5. Executive Summary
  6. -----------------
  7.   • Save window positions in THINK C.
  8.     • Mark functions in source files.
  9.     • Drop “Marker Control” onto your System Folder and restart.   
  10.          Open the “Marker Control” control panel to configure its operation.
  11.     • Run THINK C and notice the difference.
  12.                 - Window positions are saved (open a file, move its window, 
  13.                     close it, reopen it to try this out)
  14.                 - Command-click on the title bar of source file windows to 
  15.                     see a list of the functions in that file.
  16.     • #pragma mark <yourLabel>    // to mark things other than functions
  17.     • #pragma markOff         // turn marking off until the end of the file or a #pragma markOn
  18.     • #pragma markOn            // turn marking back on
  19.  
  20. Introduction
  21. -----------
  22.    As you probably know, THINK C has facilities for marking interesting parts of source code.  You can make a selection and hit command-M to mark it.  From then on it will show up in a menu that you get at by Command-clicking in the title bar of THINK C window.  What if you want to mark every function name in the file?  You could be careful to mark each function as you type it in, but after some cuts and pastes, the markers can get confused, and take you to different parts of the file by mistake.  Don’t ask me why.  So you say, how can this be improved?
  23.  
  24.    Enter Marker Control.  It’s an Extension and Control Panel combination that runs under System 6.0.5 and newer (including System 7).  If you're running System 7 or newer, changes made to the Control Panel will immediately affect the marking process.  In System 6, they won't take effect until after you restart your Macintosh.
  25.  
  26.    Marker Control parses C source files as you open them from within THINK C, and marks each function name it comes across (not the prototypes, only the actual function where it’s defined).  It also marks any symbol you put after a #pragma mark <symbol>.  Most files are marked in less than a second.  You'll barely notice that marking is taking place.  To check the marking, Command-click in the title bar of the source file’s window.
  27.  
  28.    You can also control what segments of your code get marked with two #pragma directives.  They are #pragme markOn and #pragma markOff.  If you do a markOff, Marker will not mark anything until the end of the file is hit or until a markOn pragma is encountered.
  29.  
  30. The Controls
  31. -----------
  32.  
  33. The check boxes in the Marker Control Control Panel and their meanings are as follows:
  34. √ Save Window Positions
  35.         When this check box is on, windows opened in THINK C will be opened to the last place they were closed in while this feature was on.  (Like MPW).
  36.  
  37. √ Marking On 
  38.    When this check box is on, marking will take place.  When it's off, no marking will happen.  It only takes a few assembly instructions to determine the setting of this switch, so when it's off, almost no time is spent in my code, so there is no noticible slowdown when marking is off.
  39.  
  40. √ Mark in File Order
  41.    If this box is checked, marker will prepend a number to the function names so that they will be kept in file order.  If it is unchecked, they will be shown without the numbers in alphabetical order.
  42.  
  43. √ Use Object Names
  44.    When this is checked, marker will prepend the class name of a method to the method's name (e.g. CWindow::Open).  Other functions will be maked normally.  When it is unchecked, no class names will be used.
  45.  
  46. √ Mark Only Files Ending With .c or .C
  47.    When this is checked, only files ending with the characters .c or .C will be parsed and marked.  When it is not checked, all files will be parsed when they are opened.
  48.  
  49. √ Only Mark Files Newer Than: __ Hours or Days
  50.    Often it makes sense to only mark files that you are continually changing.  You might mark the Think Class Library once using Marker (the Application version of this Control Panel available wherever you got this), and then only have files you change on a daily basis continually marked as you open them.  It's a good idea to run all files in a project through the Marker application once before using this option to be sure all files are marked in the first place.
  51.  
  52. The Price
  53. ---------
  54.    The best thing about Marker is its price - only $49.95!  OK, sorry, it’s FREE.  You can use it, love it, hate it, or simply tease your friends with it, but by all means try it.  If you feel like it, drop me a note or post card as to what you think or would like to see added to Marker.  I’d appreciate it.
  55.  
  56. Is It Safe?
  57. ----------
  58.    I have been using this program to mark files in various projects I am working on, and have had no problems or lost data.  However, since this is a Beta release, and you're never certain of bug-free code, if you find a bug, please try to reproduce it a few times and let me know exactly how to find it.  If functions are not marked properly, or non functions are marked, send me the file that was marked improperly.  If you want to remove any sensitive parts of it, that's fine, but be sure leave enough so the bug shows up!  My address (electronic and otherwise) are at the end of this document.
  59.  
  60. Modification History:
  61. -------------------
  62. v0.1
  63.   Initial release.
  64.  
  65. v0.2
  66.     Fixed a problem in the marking routine.  If a file contained an unterminated comment, the computer would hang.
  67.     Changed the patch from InitGraf to TEInit since InitGraf is not supposed to move memory while TEInit is allowed to.  This was not really a problem before since several of the standard initialization routines move memory and since rarely is anything ever done before InitGraf that would be hurt if memory moved while in InitGraf.  Still, since I may move memory in the patch, it's better to be safe than sorry.
  68.  
  69. v0.3
  70.     Added window location restoration.  Now, when you close and reopen a window, it is opened to the location that it was last in.  If the last location it was in does not exist on the hardware you are running (a friend gave you a file from his multi-monitor configuration), it will open to the default THINK C size and location.
  71.     Prettied up the Control Panel's appearance.
  72.  
  73. v0.4
  74.     Fixed an incompatibility with Super Boomerang's file text search by changing the method of identification of a file opening in THINK C.
  75.  
  76. v0.5
  77. -    Now Marker Control is ONLY compatible with THINK C 5.0.3 or better.  (No, I didn't get to take much advantage of the new editor extensions.  The information I need to obtain from THINK C isn't ready until after the scroll bars are put into place, and at that point, it's too late to resize the window.  Oh well.)
  78. -    Added the Marker cursor to indicate when a file is being marked - let me know if you like this feature.
  79. -    Added two new #pragma's.  
  80.             #pragma markOff                        turns off marking of functions for the rest of the file or until
  81.             #pragma markOn                            markOn is encountered.
  82. -    Now functions defined immediately after a #pragma are marked.
  83. -    Now something like
  84.         typedef  mERR_code (* tUIProc) (void);
  85.         does not get marked.
  86. -    A problem with calling DisposHandle on a newly created resource handle is now fixed.
  87.  
  88. v0.6
  89. -    Fixed a bug where if you had the "Only Mark Files Newer Than:" option OFF and moved
  90.         a window without making any changes to it, it set the modified date of the associated
  91.         file to some time in the early 1900s.
  92. -    Made it so that window positions and sizes are saved even if you close the windows
  93.         with "Close All" or by quitting THINK C.  Before, they were only saved if you actually
  94.         used "Close" from the File menu.
  95. -    Now functions that contain function prototypes as parameters are marked.
  96.  
  97. Known Bugs
  98. ----------
  99.     If a file's name has angle braces around it, e.g. "<OddlyNamed.c>" it will not get marked.  This is not to be confused with files in the THINK C folder whose names do NOT have the braces around them.  You probably never name your files with such braces anyway, but I thought I would let you know about this.
  100.  
  101. How To Reach Me
  102. ---------------
  103. I love to get mail about this stuff.  If you have ideas for improvement, found bugs, or just want to say hello, drop me a line.
  104.  
  105. Troy Anderson
  106. 5550 East Roadrunner Road
  107. Paradise Valley, AZ  85253
  108.  
  109. Compuserve: 70410,1407
  110. America Online: Troy A1
  111. Internet: tla@netcom.com
  112.  
  113. Thanks for your interest,
  114.  
  115.  
  116. Troy